package com.javaweb.web.dao.ds1;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.javaweb.base.po.Role;
import com.javaweb.db.mybatis.api.DaoWapper;
import com.javaweb.web.eo.role.ModuleInfoResponse;
import com.javaweb.web.eo.role.RoleListRequest;
import com.javaweb.web.eo.role.RoleListResponse;

/**
 * 角色模块数据库层接口
 * @author tank2140896
 */
@Mapper
public interface RoleDao extends DaoWapper<Role> {
	
	/**
	 * 获取角色列表数据库层接口
	 * @param roleListRequest 角色列表请求参数
	 * @return List<RoleListResponse> 角色列表返回参数
	 */
	List<RoleListResponse> roleList(RoleListRequest roleListRequest);
	
	/**
	 * 获取角色列表总数数据库层接口
	 * @param roleListRequest 角色列表请求参数
	 * @return Long 总条数
	 */
	Long roleListCount(RoleListRequest roleListRequest);
	
	/**
	 * 角色删除数据库层接口
	 * @param roleId 角色ID
	 */
	void roleDelete(String roleId);
	
	/**
	 * 角色详情数据库层接口
	 * @param roleId 角色ID
	 * @return Role 角色信息
	 */
	Role roleDetail(String roleId);
	
	/**
	 * 角色模块信息数据库层接口
	 * @param map 角色模块信息请求参数
	 * @return List<ModuleInfoResponse> 角色模块信息列表
	 */
	List<ModuleInfoResponse> roleModuleInfo(Map<String,String> map);
	
	/**
	 * 角色模块分配数据库层接口
	 * @param map 角色模块分配请求参数
	 */
	void roleModuleAssignment(Map<String,Object> map);
	
}